﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using SIMCObjetoNegocio;
using SIMCPresenter;

public partial class WUCConsultarUsuario : System.Web.UI.UserControl, IConsultarUsuarioView
{
    private ConsultarUsuarioPresenter m_Presenter;
    public event EventHandler<SearchEventArgs<string>> Iniciar;

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        m_Presenter = new ConsultarUsuarioPresenter(this);
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Iniciar != null)
            {
                Iniciar(null, new SearchEventArgs<string>(UserName));
            }
        }
    }

    public string UserName
    {
        get
        {
            if (Request.QueryString["usuario"] != null)
                return Request.QueryString["usuario"].ToString();

            return null;
        }
    }

    public void ConsultarUsuarioEnSesion()
    {
        SimcMembershipProvider provider = (SimcMembershipProvider)Membership.Provider;
        MostrarDatosUsuario(provider.Usuario);
    }

    public void ConsultarUsuarioEnBD()
    {
        SimcMembershipProvider provider = (SimcMembershipProvider)Membership.Provider;
        MostrarDatosUsuario((MembershipUsuario)provider.GetUser(UserName, false));
    }

    private void MostrarDatosUsuario(MembershipUsuario usuario)
    {
        lblNombreUsuario.Text = usuario.UserName;
        lblTelefono.Text = usuario.Telefono;
        lblCorreo.Text = usuario.Email;
        lblNombre.Text = usuario.Nombre;
        lblApellido.Text = usuario.Apellido;
        if (usuario.IsApproved)
        {

            System.Drawing.Color GreenColor = System.Drawing.ColorTranslator.FromHtml("#00CC00");
            lblActivoInactivo.ForeColor = GreenColor;
            lblActivoInactivo.Text = "ACTIVO";
        }
        else
        {
            lblActivoInactivo.ForeColor = System.Drawing.Color.Red;
            lblActivoInactivo.Text = "INACTIVO";

        }
        if (usuario.rol != null)
        {
            lblRolActual.Text = usuario.rol.Descripcion;
        }
    }

    public void MostrarMensaje(string p_Mensaje, bool p_Exito)
    {
        throw new NotImplementedException();
    }
}